/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tbp.model.domain;

import br.com.tbp.model.domain.constant.TipoDeProduto;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Diego Freire
 */
public class Produto {

    private long id;
    private String nome;
    private TipoDeProduto tipo;
    private boolean ativo;
    private String observacoes;

    public Produto() {
        this.id = 0;
        this.ativo = true;
        this.tipo = TipoDeProduto.LINHA;
    }

    public Produto(long id, String nome) {
        this.id = id;
        this.nome = nome;
        this.ativo = true;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public TipoDeProduto getTipo() {
        return tipo;
    }

    public void setTipo(TipoDeProduto tipo) {
        this.tipo = tipo;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Produto other = (Produto) obj;
        if (this.id != other.id) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 79 * hash + (int) (this.id ^ (this.id >>> 32));
        return hash;
    }

    @Override
    public String toString() {
        return this.nome;
    }

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public String getObservacoes() {
        return observacoes;
    }

    public void setObservacoes(String observacoes) {
        this.observacoes = observacoes;
    }

    public static List<Produto> createProdutos() {
        List<Produto> lista = new ArrayList<Produto>();
        lista.add(new Produto(1, "LINHA NOVA"));
        lista.add(new Produto(2, "LINHA RENEGOCIADA"));
        lista.add(new Produto(3, "MODEM"));
        lista.add(new Produto(4, "PORT IN"));
        return lista;
    }
}
